package com.cleaningcloud.cld.mapper;

import java.util.List;
import com.cleaningcloud.cld.domain.CldDegreetitleResult;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;

/**
 * 满意度结果Mapper接口
 * 
 * @author cleaningcloud
 * @date 2024-10-27
 */
public interface CldDegreetitleResultMapper 
{
    /**
     * 查询满意度结果
     * 
     * @param degreetitleResultId 满意度结果主键
     * @return 满意度结果
     */
    public CldDegreetitleResult selectCldDegreetitleResultByDegreetitleResultId(Long degreetitleResultId);


    /**
     * 查询满意度结果
     *
     * @param cldDegreetitleResult 满意度结果主键
     * @return 满意度结果
     */
    public CldDegreetitleResult selectCldDegreetitleResult(CldDegreetitleResult cldDegreetitleResult);

    /**
     * 查询满意度结果列表
     * 
     * @param cldDegreetitleResult 满意度结果
     * @return 满意度结果集合
     */
    public List<CldDegreetitleResult> selectCldDegreetitleResultList(CldDegreetitleResult cldDegreetitleResult);

    /**
     * 新增满意度结果
     * 
     * @param cldDegreetitleResult 满意度结果
     * @return 结果
     */
    public int insertCldDegreetitleResult(CldDegreetitleResult cldDegreetitleResult);

    /**
     * 修改满意度结果
     * 
     * @param cldDegreetitleResult 满意度结果
     * @return 结果
     */
    public int updateCldDegreetitleResult(CldDegreetitleResult cldDegreetitleResult);

    /**
     * 删除满意度结果
     * 
     * @param degreetitleResultId 满意度结果主键
     * @return 结果
     */
    public int deleteCldDegreetitleResultByDegreetitleResultId(Long degreetitleResultId);

    /**
     * 批量删除满意度结果
     * 
     * @param degreetitleResultIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCldDegreetitleResultByDegreetitleResultIds(Long[] degreetitleResultIds);

    /**
     * 批量新增
     * @param list
     */
    public void batchInsertCldDegreetitleResult(@Param("list") List<CldDegreetitleResult> list);


    @Delete("delete from cld_degreetitle_result where person_id = #{personId} and project_id = #{projectId} and degreetitle_id = #{degreetitleId} and degreetitle_problem_id=#{degreetitleProblemId}")
    public int batchDeleteResultByPersonIdProjectIddegId(@Param("personId") Long personId,
                                                         @Param("projectId") Long projectId,
                                                         @Param("degreetitleId")Long degreetitleId,
                                                         @Param("degreetitleProblemId")Long degreetitleProblemId);
}
